using System;
using System.Collections.Generic;
using SGP.Nhibernate.Model;

namespace SGP.IDAL
{
    public interface IPatrimonioDAL
    {

        #region Retrieve Methods
        Patrimonio Load(int idPatrimonio);
        IList<Patrimonio> FindAll();
        IList<Patrimonio> FindByPessoa(int idPessoa);
        IList<Patrimonio> FindByNome(string nome);
        IList<Patrimonio> FindByQuantidade(int quantidade);
        IList<Patrimonio> FindByCor(string cor);
        IList<Patrimonio> FindByLargura(decimal largura);
        IList<Patrimonio> FindByAltura(decimal altura);
        IList<Patrimonio> FindByProfundidade(decimal profundidade);
        IList<Patrimonio> FindByPeso(decimal peso);
        IList<Patrimonio> FindByPrecoCompra(decimal precoCompra);
        IList<Patrimonio> FindByPrecoVenda(decimal precoVenda);
        IList<Patrimonio> FindByPrecoAtual(decimal precoAtual);
        IList<Patrimonio> FindByDataAquisicao(DateTime dataAquisicao);
        IList<Patrimonio> FindByTipo(string dsTipo);
        #endregion

        void Insert(Patrimonio patrimonio);

        void Update(Patrimonio patrimonio);

        void Delete(Patrimonio patrimonio);
    }
}